// 地址表路由

const express = require('express');
// 引入连接池模块
const pool = require('../pool');
// 创建路由器对象
const router = express.Router();
// 添加查询所有地址列表接口
// 接口地址：http://127.0.0.1:5000
// 请求方法：get
router.get('/list', (req, res, next) => {
    // 执行SQL命令，查询新闻分类
    pool.query('select * from address ', (err, r) => {
        if (err) {
            return next(err)
        }
        console.log(r)
        res.send({ code: 200, msg: '地址列表', data: r })
    })
})
// 通过姓名模糊查询
router.get('/name', (req, res, next) => {
    var obj = req.query
    // console.log(obj, "12")
    pool.query('select * from address where aname like ?', [`%${obj.uname}%`], (err, r) => {
        if (err) {
            return next(err)
        }
        res.send({ code: 200, msg: '地址信息', data: r })
    })
})
// 通过id查询地址信息
router.get('/id', (req, res, next) => {
    var obj = req.query
    pool.query('select * from address where id=?', [obj.id], (err, r) => {
        if (err) {
            return next(err)
        }
        console.log(r)
        res.send({ code: 200, msg: '地址信息', data: r })
    })
})
// 通过用户uid查询地址信息
router.get('/uid', (req, res, next) => {
    var obj = req.query
    pool.query('select * from address where uid=?', [obj.uid], (err, r) => {
        if (err) {
            return next(err)
        }
        console.log(r)
        res.send({ code: 200, msg: '地址信息', data: r })
    })
})

// 通过id修改地址信息的接口
router.post('/update', (req, res, next) => {
    var obj = req.body
    let { id, uid, aname, phone, default_address, address } = obj
    console.log(obj)
    pool.query('update address set uid=?,aname=?,phone=?,default_address=?,address=?  where id=?', [uid, aname, phone, default_address, address, id,], (err, r) => {
        if (err) {
            return next(err)
        }
        // 成功的结果是对象，如果对象下的changedRows值为00说明修改失败，否则修改成功
        if (r.changedRows === 0) {
            console.log('修改失败')
            res.send({ code: 201, msg: '修改失败' })
        } else {
            console.log('修改成功')
            res.send({ code: 200, msg: '修改成功' })
        }
    })
})

// 通过id删除地址的接口
router.post('/delete', (req, res, next) => {
    var obj = req.body
    pool.query('delete from address where id=?', [obj.id], (err, r) => {
        if (err) {
            return next(err)
        }
        console.log(r)
        // 删除成功的结果是对象，如果对象下的affectedRows属性值为0，说明删除失败，否则删除失败
        if (r.affectedRows === 0) {
            console.log('删除失败')
            res.send({ code: 201, msg: '删除失败' })
        } else {
            console.log('删除成功')
            res.send({ code: 200, msg: '删除成功' })
        }
    })
})

// 新增地址接口
router.post('/add', (req, res, next) => {
    var obj = req.body
    console.log(obj)
    let { id, uid, aname, phone, default_address, address } = obj
    pool.query('insert into address values(?,?,?,?,?,?)', [null, uid, aname, phone, default_address, address], (err, r) => {
        if (err) {
            return next(err)
        }
        console.log(r)
        res.send({ code: 200, msg: '新增地址', data: r })
    })
})
// 暴露路由器对象
module.exports = router;